package com.java.zhuiyun.api.playerinformation.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java.zhuiyun.api.houserank.entity.HouseRank;
import com.java.zhuiyun.api.playerinformation.entity.PlayerInformation;
import com.java.zhuiyun.api.playerinformation.model.AppUser;
import com.java.zhuiyun.api.playerinformation.model.UserModel;
import com.java.zhuiyun.api.playerLoginLogs.model.PlayerLoginLogsModel;
import com.java.zhuiyun.api.propmgt.entity.PropMgt;
import com.java.zhuiyun.api.rolerank.entity.RoleRank;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

/**
 * @InterfaceName PlayerInformation
 * @Description TODO
 * @Author wuwan
 * @Date 2023/9/14 10:37
 **/
@Mapper
public interface PlayerInformationMapper extends BaseMapper<PlayerInformation> {
    /*
    * @Author wuwan
    * @Description 查询所有用户列表
    * @Date 2023/9/15 14:04
    * @Return
    * @param null
    */
    List<UserModel> selectPlayerInformation(String name);
    /*
    * @Author wuwan
    * @Description 新用户注册
    * @Date 2023/9/15 14:05
    * @Return
    * @param null
    */
    Integer registerUser(PlayerInformation playerInformation);
    /*
    * @Author wuwan
    * @Description 查询是有拥有此用户
    * @Date 2023/9/15 14:05
    * @Return
    * @param null
    */
    AppUser selectByUserId(String openid);
    /*
    * @Author wuwan
    * @Description 查询所有道具信息
    * @Date 2023/9/18 11:31
    * @Return
    * @param null
    */
    List<PropMgt> selectPropId();

    /*
     * @Author WX
     * @Description 关卡通关排行榜
     * @Date 2023/9/18 8:37
     * @Return
     * @param null
     */
    List<PlayerInformation> selectLevelRanking();

    /*
     * @Author WX
     * @Description 积分排行榜
     * @Date 2023/9/18 8:56
     * @Return
     * @param null
     */
    List<PlayerInformation> selectScoreRanking();


    /*
     * @Author WX
     * @Description 冒险关卡次数修改方法
     * @Date 2023/9/18 9:49
     * @Return
     * @param null
     */
    int updateNumberOfModifications();

    Integer uploginTime(PlayerInformation playerInformation);

    /*
     * @Author WX
     * @Description 查询当日登录人数
     * @Date 2023/9/18 9:49
     * @Return
     * @param null
     */
    List<PlayerInformation> selectPlayerInformationToday();
    /*
    * @Author wuwan
    * @Description 统计当前日流量人数
    * @Date 2023/9/20 10:14
    * @Return
    * @param null
    */
    PlayerLoginLogsModel selectDatePeople();
    /*
     * @Author wuwan
     * @Description  查询当前角色升级所需经验
     * @Date 2023/9/26 8:55
     * @Return
     * @param null
     */
    RoleRank getPlayerLevel(Integer roleLevel);
    /*
     * @Author wuwan
     * @Description 查询当前房屋升级所需经验
     * @Date 2023/9/26 8:58
     * @Return
     */
    HouseRank getPlayerHouseLevel(Integer houseLevel);
    /*
    * @Author wuwan
    * @Description  查询当前角色等级
    * @Date 2023/9/26 8:55
    * @Return
    * @param null
    */
    PlayerInformation selectPlayerLevel(String openid);
    /*
    * @Author wuwan
    * @Description 查询当前房屋等级
    * @Date 2023/9/26 8:58
    * @Return
    */
    PlayerInformation selectPlayerHouseLevel(String openid);
    /*
    * @Author wuwan
    * @Description 角色升级规则
    * @Date 2023/9/26 8:59
    * @Return
    */
    Integer upPlayerLevel(PlayerInformation playerInformation);
    /*
    * @Author wuwan
    * @Description 用户过关后添加奖励的经验
    * @Date 2023/9/26 8:59
    * @Return
    */
    Integer upCatchPlayerLevel(PlayerInformation playerInformation);
    /*
    * @Author wuwan
    * @Description 房屋升级规则
    * @Date 2023/9/26 8:59
    * @Return
    */
    Integer upPlayerHouseLevel(PlayerInformation playerInformation);
    /*
     * @Author wuwan
     * @Description 用户过关后添加奖励的积分
     * @Date 2023/9/26 8:59
     * @Return
     */
    Integer upCatchHousePlayerLevel(PlayerInformation playerInformation);
    /*
    * @Author wuwan
    * @Description 根据主键查询用户数据
    * @Date 2023/9/27 9:32
    * @Return
    */
    PlayerInformation queryByUser(String openid);
    /*
     * @Author wuwan
     * @Description 修改冒险次数
     * @Date 2023/9/27 9:32
     * @Return
     */
    int queryByOpenId(String openid);
    /*
    * @Author WX
    * @Description 修改冒险通关次数
    * @Date 2023/10/8 9:39
    * @Return
    * @param null
    */
    int updateAdventureIdNumber (String openid);

    Integer nextLevel(AppUser appUser);
    /*
    * @Author WX
    * @Description 添加角色积分
    * @Date 2023/10/17 9:02
    * @Return
    * @param null
    */
    int addPoints(String openid);

    /*
     * @Author WX
     * @Description 冒险通一个小关卡操作
     * @Date 2023/10/17 8:58
     * @Return
     * @param id
     */
    int adventurePassOneLevelOperation(int id);

    /*
    * @Author WX
    * @Description 通过id查询用户信息
    * @Date 2023/10/17 9:41
    * @Return
    * @param id
    */
    PlayerInformation selectPlayerInformationById(int id);

    /*
    * @Author WX
    * @Description 领取成就奖励
    * @Date 2023/10/17 11:05
    * @Return
    * @param id
    */
    int updateExperienceAndPoints(int id);
    /**
    * @Author MJL
    * @Description todo 看图猜成语关卡机制
    * @Date 2023/10/19 10:01
    * @Return  * @param null
    */
    Integer picturePlayerLevel(PlayerInformation playerInformation);

    /**
    * @Author 杨友朋
    * @Description TODO 成语接龙通一个小关卡操作
    * @Date 2023/10/20 9:42
    * @Return int
    * @param id,correctlyAnsweredQuestions,correctlyAnsweredWord
    */
    int idiomGOGOGO(int id, Integer correctlyAnsweredQuestions, Integer correctlyAnsweredWord);
}

